1. Field of the Invention
This invention relates to control systems for electric motors, more particularly to a control system for an electric motor used to drive a compressor in a portable ventilator.
2. Background Art
For a variety of reasons, there are instances when individuals (patients) with acute and chronic respiratory distress cannot ventilate themselves (i.e. breathe). In those circumstances, such patients require breathing assistance to stay alive. One solution is to provide those patients with a medical device called a mechanical ventilator, which assists with their breathing.
A purpose of a mechanical ventilator is to reproduce the body's normal breathing mechanism. Most mechanical ventilators create positive intrapulmonary pressure to assist breathing. Positive intrapulmonary pressure is created by delivering gas to the patient's lungs so that positive pressure is created within the alveoli (i.e. the final branches of the respiratory tree that act as the primary gas exchange units of the lung). Thus, a mechanical ventilator is essentially a device that generates a controlled flow of gas (e.g., air or oxygen) into a patient's airways during the inhalation phase, and allows gas to flow out of the lungs during the exhalation phase.
Mechanical ventilators use various types of methods to facilitate precise delivery of air to the patient. Some ventilators use gas compressors to generate the proper amount of flow to satisfy the requirements of the patient.
Most ventilator systems that have an internal gas source use either constant speed or variable speed compressors. Constant speed compressors are usually continuously operating, rotary-based machines that generate the desired flow from external air, for ultimate delivery to the patient. These constant speed systems generally use a downstream flow valve to control intermittent patient flow, with a bypass valve recirculating the excess flow.
Variable speed compressors operate by rapidly accelerating from a rest state to produce the flow rate necessary during the beginning of the inhalation cycle, and then decelerating to the rest state at the end of the inhalation cycle to allow the patient to exhale.
There are basically two types of variable speed systems employed in the mechanical ventilator art: piston-based systems and rotary-based systems. Rotary systems require low inertia components for the rapid acceleration and deceleration cycles. For instance, prior art systems, such as that described in U.S. Pat. No. 5,868,133 to DeVries et al, use drag compressors to provide the desired inspiratory air flow.
Rotary compressor systems deliver the required air flow during inhalation by accelerating the compression rotor(s) to the desired speed at the beginning of each inspiratory phase and decelerating the compression rotor(s) to the rest speed at the end of each inspiratory phase. Thus, the rotary compressor is stopped, or rotated at a base rotational speed prior to commencement of each inspiratory ventilation phase. Upon commencement of an inspiratory phase, the rotary compressor is accelerated to a greater rotational speed for delivering the desired inspiratory air flow. At the end of the inspiratory phase, the rotational speed of the compressor is decelerated to the base speed, or is stopped, until commencement of the next inspiratory ventilation phase. These prior art systems typically use a programmable controller to control the timing and rotational speed of the compressor.
During operation of the ventilator, it is desirable to precisely control the rapid acceleration, deceleration, and rotational speed of the rotary compressor in order to generate the required inspiratory pressure, flow rate, or volume to the patient. For instance, depending on the size and capacity of the compressors, it may be necessary to precisely control the speed of the motor from zero to approximately twenty thousand revolutions per minute (20,000 RPM) to generate the desired flow rate. Thus, it may be necessary to accelerate the motor from rest to the full rotational speed of 20,000 RPM in a relatively small amount of time (e.g., on the order of milliseconds).
One type of electric motor with desirable mechanical characteristics for portable ventilators is a brushless DC (BLDC) motor. BLDC motors have small form factors and very high reliability resulting from the lack of brushes and reduced frictional components. BLDC motors are reversible motors that synchronize the poles of a rotor with a rotating stator field. Classes of BLDC motors include permanent magnet types and variable reluctance types.
In BLDC motors that use permanent magnets, the rotor is made of magnetic materials that provide high flux, resulting in good torque-to-size ratio at moderate cost. The inherent dynamic braking and low rotor speed of the permanent magnet design ensure smooth operation and provide the type of rapid acceleration needed for the inspiratory cycle of a mechanical ventilator. In addition, BLDC motors have very low torque ripple and are easily controllable over a broad range of speeds.
BLDC motors provide rapid acceleration and deceleration capability, as well as exceptional efficiency under full load conditions. These features are desirable in applications that require performance with minimal power consumption. However, simple BLDC motor controllers (e.g., controllers that rely solely on commutation states for motor control) do not provide the type of precision speed control required in portable ventilator systems. Portable ventilator systems require substantially instantaneous speed detection (e.g., one speed value every two to four milliseconds) to provide the necessary transient response in the speed control loop. Speed detection based on sparse commutation state information would have a strong negative impact on the transient response of the speed control loop, especially at low speeds.
Simple BLDC motor controllers use a small number of commutation states (e.g., six states for a three-phase device) to describe the rotor position at any moment in time. Position information is therefore relatively coarse. For commutation control, this coarse position information is sufficient. For speed control, however, such coarse position information is problematic. The rate at which commutation position information is available is equal to the number of commutation states multiplied by the current speed of the rotor. At higher rotor speeds, there are more commutation position samples (i.e., state changes) per unit time, reducing the total amount of time required to compute an accurate speed value. However, as the rotor speed decreases, the commutation position samples become sparser in time, increasing the amount of time required to compute an accurate speed value. As a result, the speed computations from commutation information provide a transient response that is too slow for portable ventilator applications.
In prior art motor control applications, speed control is commonly assisted through the use of a separate speed transducer, such as an optical encoder, which enhances the density of position information with respect to time. Optical encoders typically take the form of a finely notched or perforated disk attached to the rotor shaft of the BLDC motor, extending outward from the radius of the shaft. As the rotor and disk rotate, a light-emitting device (e.g., a light emitting diode (LED)) casts light through the perforations on the disk for detection by one or more photo sensors positioned on the opposite side of the disk. Lenses are sometimes used to focus and direct the light through multiple concentric tracks of perforations.
Each successive notch or perforation of the disk represents the passage of a known angular distance (e.g., with 1024 notches spaced around the disk, one notch=2−10 revolutions). A relatively accurate angular speed value can be determined by timing the interval between successive notches, or by counting the number of notches within a fixed sample period.
FIG. 1 is a block diagram of a three-phase BLDC motor controller with an optical transducer. In this example, three discrete Hall effect sensors located in the stator provide rotor position feedback for commutation control. Each discrete Hall effect sensor provides 180 degrees of position sensing coverage. Speed feedback is provided by an incremental optical transducer (i.e., an optical transducer that detects incremental changes in rotor position without reference to an absolute rotor position).
In FIG. 1, discrete Hall effect sensors 115A-C are located in a circle around the spinning rotor, approximately 120 electrical degrees apart to provide full coverage position feedback of the rotor of BLDC motor 110. The binary outputs of discrete Hall effect sensors 115A, 115B, and 115C are connected to a decoder circuit 120 via communication lines 103A, 103B, and 103C, respectively.
The one-bit output of each Hall effect sensor goes high when the positive pole of a magnet attached to the rotor is aligned within the 180-degree arc centered on the given sensor. Because there are three sensors 120 degrees apart, there are roughly 60 degrees of sensor overlap, where the outputs of two sensors are high at the same time (actual region of overlap may depend on the distance between the sensors). Given the above arrangement of sensors, and representing the combined sensor outputs as a three-bit digital word, the possible three-bit values (i.e., states) assigned to rotor positioning are: (1 0 0), (1 1 0), (0 1 0), (0 1 1), (0 0 1) and (1 0 1). The state transitions occur at intervals of approximately 60 degrees. Decoder 120 extracts the six possible sensor combinations or states and feeds the discrete information to commutation control circuit 150, which generates signals for energizing the appropriate stator coils within the motor.
Commutation control 150 provides a commutation signal to PWM generator 170, which, in turn, uses pulse-width modulated signals to drive three-phase inverter block 180. In periodic pulses, three-phase inverter block 180 sources electrical current to one coil of the stator while sinking current through another coil. Due to the direction of the coil windings and the direction of current flow therein, one coil will attract the rotor while the other coil repels. The rotor is thus pulled (and pushed) in the desired direction.
The duty cycles (i.e., the relative pulse-widths) of the signals from PWM generator 170 determine how long the bursts of drive current last within the stator. By modulating the duty cycle based on the control signal received from control function 160, a higher average drive current (or lower average), and a correspondingly stronger (or weaker) pull over time by the stator coils, may be achieved to implement acceleration and deceleration of the rotor.
FIG. 2 illustrates one example of a three-phase inverter coupled to a stator having three coils 200A-200C. The coil arrangement shown is bipolar in nature, meaning that the coils share a single neutral node (209), such that when one coil is sourcing current, another coil must be sinking current. In this way, one coil will be attracting a first pole of a rotor magnet, and a second coil will be attracting the opposite pole of a rotor magnet and/or repelling the first pole. Unipolar arrangements may also be used, where each coil is driven independently, in only one direction.
In FIG. 2, three-phase inverter 180 is implemented with six transistors (201A-B, 202A-B and 203A-B), represented in this example by FETs (field effect transistors). Though not shown, each FET may have a clamping diode coupled in parallel. FETs 201A, 202A and 203A are shown as P-type transistors, though they may also be implemented with N-type transistors. The source nodes of FETs 201A, 202A and 203A are commonly coupled to positive power supply node 204. Similarly, the source nodes of FETs 201B, 202B and 203B are commonly coupled to ground node or negative power supply node 205. The drain nodes of FETs 201A and 201B are commonly coupled to node 206, which is further coupled to coil 200A. The drain nodes of FETs 202A and 202B are commonly coupled to node 207, which is further coupled to coil 200B. Likewise, the drain nodes of FETs 203A and 203B are commonly coupled to node 208, which is further coupled to coil 200C.
Control signals A1, B1 and C1 are coupled to the gates of FETs 201A, 202A and 203A, respectively, and are responsible for determining when FETs 201A, 202A and 203A will source current to coils 200A, 200B and 200C, respectively. Similarly, control signals A2, B2 and C2 are coupled to the gates of FETs 201B, 202B and 203B, respectively, and are responsible for determining when FETs 201B, 202B and 203B will sink current from coils 200A, 200B and 200C, respectively. The control loop determines the timing of control signals A1, A2, B1, B2, C1 and C2, to pull (and optionally push) the rotor to achieve the desired rotation.
Referring back to FIG. 1, an optical encoder is attached to BLDC motor 110. The optical encoder includes LED 104, disk 105 and photo sensor 106. The signal output of photo sensor 106 is provided to timer 130. Speed calculation circuit 140 computes the rotor speed using information available from timer 130. That information may include, for example, the timed interval between detection of consecutive notches or the number of notches detected within a fixed time interval. The computed speed 102 is then compared with speed command 101 to generate a speed error, which is used within control function 160 to generate the modulation control signal for PWM generator 170. Control function 160 may be implemented with, for example, a PI (proportional-integral) controller or a PID (proportional-integral-derivative) controller.
A disadvantage of optical encoders and other speed transducers is that the extra hardware of the encoder takes up space in the housing of the device and increases the overall weight of the device. Further, optical encoders are expensive. For larger devices, the increased size, weight and cost may not be important factors in the device design. However, in portable ventilator design, it is desirable that each ventilator unit be compact, lightweight, and affordable. Thus, the additional size, weight and cost of separate speed transducers make them undesirable as solutions for speed control in a portable ventilator.
These shortcomings of prior art BLDC control systems hinder the use of separate speed transducers with BLDC motors in mechanical ventilator applications. Thus, it is desirable to provide a BLDC motor control system for portable ventilators having accurate rotor speed information and control at all rotor speeds, without the added cost, size and weight of a separate speed transducer.